package org.example.seata.bs.api.entity.product;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;

import java.math.BigDecimal;

/**
 * 产品
 *
 * @author hzq
 * @date 2021/11/17 11:44
 */
@Data
@TableName("`product`")
public class Product extends Model<Product> {

    @TableId(type = IdType.AUTO)
    private Integer productId;
    /**
     * 产品名称
     */
    private String productName;
    /**
     * 产品简称
     */
    private String productShortName;
    /**
     * 产品单价
     * 现在的价格
     * 优惠后的价格
     * 最后成交价
     */
    private BigDecimal productPrice;
    /**
     * 产品原价
     * 原来的价格
     * 展示的价格
     */
    private BigDecimal productOriginalPrice;
    /**
     * 产品实际库存
     * 入库 减去 出库
     * 发货时要减去库存
     * 损坏时要减去库存
     * 进货时要加上库存
     * 退货入库时要加上库存
     * 业务结束流程审核通过后的实际库存
     */
    private BigDecimal productInventory;
    /**
     * 产品虚拟库存
     * 用于下单页面展示的库存
     * 点击下单时 减去 订单数量
     * 取消订单时 加上 订单数量
     * 用于控制下单的限制
     * 进货入库时 要加上 库存
     * 这个库存相当于业务流程未结束时的库存
     * 可以手动修改的库存
     */
    private BigDecimal productVirtualInventory;
}
